//import 'package:flutter/material.dart';
//// import 'package:image_picker/image_picker.dart';
//import 'package:cached_network_image/cached_network_image.dart';
//import 'package:firebase_storage/firebase_storage.dart';
//import 'dart:math';
//import 'package:flutter/cupertino.dart';
//import 'package:multi_image_picker/multi_image_picker.dart';
//import 'dart:typed_data';
//import 'dart:typed_data';
//
//class FireStorageTest extends StatefulWidget {
//  final FirebaseStorage storage;
//  FireStorageTest({this.storage});
//  @override
//  State<StatefulWidget> createState() => FireStorageTestState();
//}
//
//class FireStorageTestState extends State<FireStorageTest> {
//  List<StorageUploadTask> _upLoadTaskList = [];
//  List<Uint8List> _listUt8 = [];
//  List<String> _urlList = [];
//
//  _upLoad() async {
//    var result =
//        await MultiImagePicker.pickImages(maxImages: 12, enableCamera: false);
//    _listUt8 = [];
//
//    if (result.length != 0) {
//      for (int i = 0; i < result.length; i++) {
//        await result[i].requestOriginal();
//        Uint8List imageData = result[i].imageData.buffer.asUint8List();
//        _listUt8.add(imageData);
//      }
//      if (_listUt8.length != 0) {
//        print('图片数据有：${_listUt8.length}');
//        for (int i = 0; i < _listUt8.length; i++) {
//          int radom = new Random().nextInt(100000);
//          print('开始创建第$i个上传任务');
//          StorageReference storageReference =
//              widget.storage.ref().child('image').child('image_${radom}.jpg');
//          StorageUploadTask storageUploadTask =
//              storageReference.putData(_listUt8[i]);
//          setState(() {
//            _upLoadTaskList.add(storageUploadTask);
//          });
//        }
//        _upLoadTaskList.forEach((task) async {
//          StorageTaskSnapshot snapshot = await task.onComplete;
//          String uri = await snapshot.ref.getDownloadURL();
//          setState(() {
//            _urlList.add(uri);
//          });
//
//          print('图片的url：$uri');
//        });
//      }
//    }
//  }
//
//  // _getUrl() {
//  //   _upLoadTaskList.forEach(
//  //     (value) async {
//  //       String url = await value.lastSnapshot.ref.getDownloadURL();
//  //       print('URL:$url');
//  //       setState(() {
//  //         _urlList.add(url);
//  //       });
//  //     },
//  //   );
//  // }
//
//  @override
//  Widget build(BuildContext context) {
////    final List<Widget> children = <Widget>[];
////    _upLoadTaskList.forEach((StorageUploadTask task) async {
////      final Widget tile = UpLoadTaskListTile(
////        task: task,
////        onDownLoad: () => _downLoad(task.lastSnapshot),
////      );
////      children.add(tile);
////    });
//    return new Scaffold(
//      appBar: new AppBar(
//        title: new Text('fireStorage'),
//      ),
//      body: Center(
//        child: new ListView(
//          children: [
//            new Column(
//              children: List.generate(
//                _upLoadTaskList.length,
//                (index) {
//                  return new UpLoadTaskListTile(
//                      task: _upLoadTaskList[index],
//                      url: _urlList.length == 0
//                          ? ''
//                          : _urlList[index],
//                      onCancel: () {
//                        setState(() {
//                          _upLoadTaskList.removeAt(index);
//                        });
//                      });
//                },
//              ),
//            ),
////            new Column(
////              children: List.generate(
////                _urlList.length,
////                (index) {
////                  return new CachedNetworkImage(
////                    height: 150.0,
////                    imageUrl: _urlList[index],
////                    placeholder: CupertinoActivityIndicator(),
////                    errorWidget: new Text('加载失败'),
////                  );
////                },
////              ),
////            )
//          ],
//        ),
//      ),
//      floatingActionButton: new FloatingActionButton(
//        onPressed: _upLoad,
//        child: Icon(Icons.image),
//      ),
//    );
//  }
//}
//
//class UpLoadTaskListTile extends StatelessWidget {
//  UpLoadTaskListTile(
//      {this.task,
////    this.onDismissed,
//      this.onCancel,
////    this.ut8,
//      this.url
////    this.getUrl,
//      });
//
//  final StorageUploadTask task;
////  final VoidCallback onDismissed;
//  final VoidCallback onCancel;
//  final String url;
////  final Uint8List ut8;
////  final VoidCallback getUrl;
//
//  get status {
//    String result;
//    if (task.isComplete) {
//      if (task.isSuccessful) {
//        result = '成功';
//      } else if (task.isCanceled) {
//        result = '取消';
//      } else
//        result = '失败:${task.lastSnapshot.error}';
//    } else if (task.isPaused) {
//      result = '暂停';
//    } else if (task.isInProgress) {
//      result = '上传中';
//    }
//    return result;
//  }
//
//  _bytePercent(StorageTaskSnapshot snapshot) {
//    return '${((snapshot.bytesTransferred / snapshot.totalByteCount) * 100).toInt()}%';
//  }
//
//  @override
//  Widget build(BuildContext context) {
//    return new StreamBuilder<StorageTaskEvent>(
//      stream: task.events,
//      builder: (BuildContext context,
//          AsyncSnapshot<StorageTaskEvent> asyncSnapShot) {
//        Widget subtitle;
//        if (asyncSnapShot.hasData) {
//          StorageTaskEvent event = asyncSnapShot.data;
//          StorageTaskSnapshot snapshot = event.snapshot;
//          subtitle = new Text('$status: ${_bytePercent(snapshot)}');
//        } else
//          subtitle = new Text('准备上传');
//        return new ListTile(
////          leading: new Image.memory(
////            ut8,
////            fit: BoxFit.cover,
////            width: 60.0,
////            height: 60.0,
////          ),
//          leading: new CachedNetworkImage(
//            imageUrl: url,
//            placeholder: CupertinoActivityIndicator(),
//            width: 60.0,
//            height: 60.0,
//          ),
//          title: new Text('上传任务：${task.hashCode}'),
//          subtitle: subtitle,
//          trailing: new Row(
//            mainAxisSize: MainAxisSize.min,
//            children: <Widget>[
//              new Offstage(
//                offstage: !task.isInProgress,
//                child: new IconButton(
//                  icon: Icon(Icons.pause),
//                  onPressed: () => task.pause(),
//                ),
//              ),
//              new Offstage(
//                offstage: !task.isPaused,
//                child: new IconButton(
//                  icon: Icon(Icons.file_upload),
//                  onPressed: () => task.resume(),
//                ),
//              ),
//              new Offstage(
//                offstage: task.isComplete,
//                child: new IconButton(
//                  icon: Icon(Icons.cancel),
//                  onPressed: onCancel,
//                ),
//              ),
//              new Offstage(
//                offstage: !(task.isComplete && task.isSuccessful),
//                child: new IconButton(
//                  icon: Icon(Icons.file_download),
//                  onPressed: () {},
//                ),
//              ),
//            ],
//          ),
//        );
//      },
//    );
//  }
//}
